home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Palettes / Calculator / Calculator.h < prev    next >
Text File  |  1995-06-12  |  2KB  |  82 lines

  1. //
  2. // Calculator.h
  3. // Copyright (c) 1990,1991,1992 by Jiro Nakamura 
  4. // All rights reserved
  5. //
  6. // Maintains a simple 4-function + others calculator in Objective-C
  7. // Doesn't handle algebraic notation or simple ordering.
  8. //
  9. // RCS Information
  10. // Revision Number->    $Revision: 1.8 $
  11. // Last Revised->    $Date: 92/02/02 18:24:19 $
  12. //
  13.  
  14. #import <appkit/Panel.h>
  15. #import <appkit/Text.h>
  16.  
  17. @interface Calculator: Panel
  18. {
  19.     double    x,    // Current (displayed) number
  20.         y,    // Previous (stored) number
  21.         m;    // Memory number
  22.     
  23.     BOOL    x_hasDecimal,
  24.         x_isNew,
  25.         calcDidInit;
  26.         
  27.     int     displayMode;
  28.     
  29.     int    currentOperation;
  30.     
  31.         id    display;
  32.     id    memoryDisplay;
  33.     id    operationDisplay;
  34.     
  35.     id    scrollDisplay;
  36.     Text    *scrollText;
  37.     
  38.     id    invisibleEnterKey;
  39.     
  40.     id    hexadecimalKeyMatrix;
  41.     id    decimalKeyMatrix;
  42.     id    decimalPointKey;
  43. }
  44.  
  45. - key_clear:sender;
  46. - key_divide:sender;
  47. - key_number:sender;
  48. - key_log:sender;
  49. - key_squareRoot:sender;
  50. - key_memory:sender;
  51. - key_factorial:sender;
  52. - key_multiply:sender;
  53. - key_add:sender;
  54. - key_subtract:sender;
  55. - key_enter:sender;
  56. - key_allClear:sender;
  57. - key_power:sender;
  58. - key_negate:sender;
  59. - key_logicalOr: sender;
  60. - key_logicalAnd: sender;
  61. - key_logicalEor: sender;
  62. - key_baseChanged: sender;
  63.  
  64. - setDisplay;
  65. - clearDisplay;
  66. - errorDisplay;
  67. - errorDisplay: (char *) error;
  68. - (double) getDisplay;
  69. - updateMemoryMarker;
  70. - updateOperationMarker;
  71. - processPrevious;
  72. // Delegate stuff to ensure proper miniaturization behaviour
  73. - windowWillMiniaturize: sender toMiniwindow: mini;
  74. - windowDidUpdate: sender;
  75. - windowDidDeminiaturize: sender;
  76. - setScrollOperation: (char *) op andNumber: (double) val;
  77.  
  78. // From CalculatorLab/MinusPanel.h
  79. - (BOOL)commandKey:(NXEvent *)theEvent;
  80.  
  81. @end
  82.